package chapter01

object Test07_Transform {
  def main(args: Array[String]): Unit = {
    //自动类型转换
    //小类型通过赋值或者计算 变成大类型
    val a:Byte = 20
    val b:Int = a
    val c:Double = a+1.0
    println(s"b=${b},c=${c}")
    //不同类型之间 或者大类型向小类型转换 强制类型转换
    val e:Int = 120
    val f:Byte = e.toByte
    println(s"f=${f}")
    //强制转换 大类型变小类型 损失精度或者直接溢出改变值
    val g:Int = 130
    val h:Byte = g.toByte
    println(s"h=${h}")
    //损失精度
    val n:Double = 12.123456789456
    println(n.toFloat)
    //不同类型之间进行转换
    val m:String = "20"
    val k:Int = m.toInt
    println(s"k=${k}")
    //其他类型转成字符串
    val q:String = n.toString
    println(s"q=${q}")
    //和其他字符拼接
    println(n+"20")
    //强制转换可能失败
    //println("abc".toInt)
  }
}
